<script>
	import Vue from 'vue'
	import http from '@/utils/request/index.js'
	// import appUpdate from 'common/util/appUpdate.js'
	// #ifdef APP-PLUS
	var jpushModule = uni.requireNativePlugin("JG-JPush")
	import APPUpdate from '@/uni_modules/zhouWei-APPUpdate/js_sdk/appUpdate'; // 版本更新
	// #endif
	export default {
		onLaunch: function() {
			if (uni.getStorageSync('ACCESS_TOKEN')){
				this.$store.dispatch('actionsSetIndexList') // 获取首页信息
				this.$store.dispatch('getDictItemsFromCache') // 获取数据字典
			}
			// #ifdef APP-PLUS
			plus.screen.lockOrientation("portrait-primary")
			// #endif
			uni.hideTabBar({
				success() {
				}
			})
			// 获取设备信息
			uni.getSystemInfo({
				success: (e)=>{
					uni.setStorageSync('getSystemInfo', e);
					// #ifdef APP-PLUS
					// 检测升级
					APPUpdate()
					// #endif
					// #ifndef MP
					Vue.prototype.StatusBar = e.statusBarHeight;
					if (e.platform == 'android') {
						Vue.prototype.CustomBar = e.statusBarHeight + 50;
					} else {
						Vue.prototype.CustomBar = e.statusBarHeight + 45;
					}
					// #endif
			
					// #ifdef MP-WEIXIN
					Vue.prototype.StatusBar = e.statusBarHeight;
					let custom = wx.getMenuButtonBoundingClientRect();
					Vue.prototype.Custom = custom;
					Vue.prototype.CustomBar = custom.bottom + custom.top - e.statusBarHeight;
					// #endif		
			
					// #ifdef MP-ALIPAY
					Vue.prototype.StatusBar = e.statusBarHeight;
					Vue.prototype.CustomBar = e.statusBarHeight + e.titleBarHeight;
					// #endif
				}
			});
			
			Vue.prototype.NavBarColor='bg-gradual-blue'
			Vue.prototype.Radio_Check_Size='scale(0.7)'
			Vue.prototype.bannerList=[
				{id:1,type: 'image',url: 'https://static.jeecg.com/upload/test/banner0_1595850438042.jpeg', link: ''},
				{id:2,type: 'image',url: 'https://static.jeecg.com/upload/test/banner2_1595818081327.jpg', link: ''},
				{id:3,type: 'image',url: 'https://static.jeecg.com/upload/test/oabanner-2_1595648520760.png', link: ''},
				{id:4,type: 'image',url: 'https://static.jeecg.com/upload/test/banner5_1595818089013.jpeg', link: ''},
			]
			
			Vue.prototype.ColorList = [{
					title: '嫣红',
					name: 'red',
					color: '#e54d42'
				},
				{
					title: '桔橙',
					name: 'orange',
					color: '#f37b1d'
				},
				{
					title: '明黄',
					name: 'yellow',
					color: '#fbbd08'
				},
				{
					title: '橄榄',
					name: 'olive',
					color: '#8dc63f'
				},
				{
					title: '森绿',
					name: 'green',
					color: '#39b54a'
				},
				{
					title: '天青',
					name: 'cyan',
					color: '#1cbbb4'
				},
				{
					title: '海蓝',
					name: 'blue',
					color: '#0081ff'
				},
				{
					title: '姹紫',
					name: 'purple',
					color: '#6739b6'
				},
				{
					title: '木槿',
					name: 'mauve',
					color: '#9c26b0'
				},
				{
					title: '桃粉',
					name: 'pink',
					color: '#e03997'
				},
				{
					title: '棕褐',
					name: 'brown',
					color: '#a5673f'
				},
				{
					title: '玄灰',
					name: 'grey',
					color: '#8799a3'
				},
				{
					title: '草灰',
					name: 'gray',
					color: '#aaaaaa'
				},
				{
					title: '墨黑',
					name: 'black',
					color: '#333333'
				},
				{
					title: '雅白',
					name: 'white',
					color: '#ffffff'
				},
			]
			// #ifdef APP-PLUS
			if(uni.getSystemInfoSync().platform == "ios"){
				jpushModule.requestNotificationAuthorization((result)=>{
					let status = result.status
					if (status < 2) {
						uni.showToast({
							icon: 'none',
							title: '您还没有打开通知权限',
							duration: 3000
						})
					}
				})
			} else {
				jpushModule.isNotificationEnabled((result) => {
					let status = result.code
					if (status == 0) {
						uni.showToast({
							icon: 'none',
							title: '您还没有打开通知权限',
							duration: 3000
						})
					}
				})
			}
			// 初始化函数
			// 初始化SDK iOS 说明:如果在mainfest.json里 将JPUSH_DEFAULTINITJPUSH_IOS值配置为"true"，插件内部将默认初始化JPush，用户则不需要调用该初始化方法。
			jpushModule.initJPushService();
			// 推送连接状态回调
			jpushModule.addConnectEventListener(result => {
				// connectEnable	boolean	true - 已连接, false - 未连接
				console.log(result, '----------------连接状态-------------');
				let connectEnable = result.connectEnable
				uni.$emit('connectStatusChange', connectEnable)
			});
			
			// 通知事件回调
			// 通过CALLBACK 的 notificationEventType字段 区分 是 通知收到 还是 点击通知
			jpushModule.addNotificationListener(result => {
				let notificationEventType = result.notificationEventType
				let messageID = result.messageID
				let title = result.title
				let content = result.content
				let extras = result.extras
				if (result.extras && result.extras.url && result.notificationEventType == "notificationOpened") {
					uni.switchTab({
						url: result.extras.url
					})
				}
			});
			
			// 自定义消息事件回调
			jpushModule.addCustomMessageListener(result => {
				let type = result.type
				let messageType = result.messageType
				let content = result.content
			})
			
			// 本地通知事件回调
			jpushModule.addLocalNotificationListener(result => {
				let messageID = result.messageID
				let title = result.title
				let content = result.content
				let extras = result.extras
			})
			// #endif
			// 判断补填上周工时
			this.$store.dispatch('checkMustFillHours').then(res => {
				if (res) {
				  if (res.lastWeek === 'no'){
					// 直接跳转到工时填报页面
					/* 到首页 */
					uni.reLaunch({
						url: '/pages/home/home'
					})
				  }
				}
			})
			
		},
		methods: {
		},
		onShow: function() {
			clearTimeout()
			uni.hideTabBar({
				success() {
				}
			})
			
		},
		onHide: function() {
			clearTimeout()
		}
	}
</script>

<style lang="scss">
	uni-modal{
		z-index: 19999 !important;
	}
	@import "@/static/iconfont/iconfont.css";
	@import '@/styles/main.scss';
	@import "uview-ui/index.scss";
	/*每个页面公共css */
	$pad: "(min-width: 500px) and (max-width: 1366px)"; //平板
	$phone: "(min-width: 0px) and (max-width: 500px)"; //手机
	page{
		width: 100%;
		height: 100%;
		background-color: #F7F7F7;
		font-size: 14px;
		@media #{$pad}{
				font-size: 18rpx;
		}
	}
	
	
	@import "plugin/colorui/main.css";
	@import "plugin/colorui/icon.css";
	@import "plugin/colorui/animation.css";
	.nav-list {
		display: flex;
		flex-wrap: wrap;
		padding: 0px 40upx 0px;
		justify-content: space-between;
	}
	
	.nav-li {
		padding: 30upx;
		border-radius: 12upx;
		width: 45%;
		margin: 0 2.5% 40upx;
		background-image: url(https://cdn.nlark.com/yuque/0/2019/png/280374/1552996358352-assets/web-upload/cc3b1807-c684-4b83-8f80-80e5b8a6b975.png);
		background-size: cover;
		background-position: center;
		position: relative;
		z-index: 1;
	}
	
	.nav-li::after {
		content: "";
		position: absolute;
		z-index: -1;
		background-color: inherit;
		width: 100%;
		height: 100%;
		left: 0;
		bottom: -10%;
		border-radius: 10upx;
		opacity: 0.2;
		transform: scale(0.9, 0.9);
	}
	
	.nav-li.cur {
		color: #fff;
		background: rgb(94, 185, 94);
		box-shadow: 4upx 4upx 6upx rgba(94, 185, 94, 0.4);
	}
	
	.nav-title {
		font-size: 32upx;
		font-weight: 300;
	}
	
	.nav-title::first-letter {
		font-size: 40upx;
		margin-right: 4upx;
	}
	
	.nav-name {
		font-size: 28upx;
		text-transform: Capitalize;
		margin-top: 20upx;
		position: relative;
	}
	
	.nav-name::before {
		content: "";
		position: absolute;
		display: block;
		width: 40upx;
		height: 6upx;
		background: #fff;
		bottom: 0;
		right: 0;
		opacity: 0.5;
	}
	
	.nav-name::after {
		content: "";
		position: absolute;
		display: block;
		width: 100upx;
		height: 1px;
		background: #fff;
		bottom: 0;
		right: 40upx;
		opacity: 0.3;
	}
	
	.nav-name::first-letter {
		font-weight: bold;
		font-size: 36upx;
		margin-right: 1px;
	}
	
	.nav-li text {
		position: absolute;
		right: 30upx;
		top: 30upx;
		font-size: 52upx;
		width: 60upx;
		height: 60upx;
		text-align: center;
		line-height: 60upx;
	}
	
	.text-light {
		font-weight: 300;
	}
	
	@keyframes show {
		0% {
			transform: translateY(-50px);
		}
	
		60% {
			transform: translateY(40upx);
		}
	
		100% {
			transform: translateY(0px);
		}
	}
	
	@-webkit-keyframes show {
		0% {
			transform: translateY(-50px);
		}
	
		60% {
			transform: translateY(40upx);
		}
	
		100% {
			transform: translateY(0px);
		}
	}
	.card:active{
		box-shadow: 0 8px 50px #23232333;
	}
</style>
